package com.zzyl.nursing.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 退住VO
 *
 * @Author: Zhy
 * @Date: 2025-07-13
 **/
@ApiModel(description = "退住VO")
@Data
public class CheckOutVo {

    @ApiModelProperty(value = "退住ID")
    private Long id;

    @ApiModelProperty(value = "老人姓名")
    private String elderName;

    @ApiModelProperty(value = "老人ID")
    private Long elderId;

    @ApiModelProperty(value = "身份证号")
    private String idCardNo;

    @ApiModelProperty(value = "入住记录ID")
    private Long checkInId;

    @ApiModelProperty(value = "退住床位")
    private String bedNumber;

    @ApiModelProperty(value = "退住日期")
    private LocalDateTime checkOutDate;

    @ApiModelProperty(value = "退住原因")
    private String checkOutReason;

    @ApiModelProperty(value = "退住类型(1=正常退住,2=合同到期,3=转院,4=其他)")
    private Integer checkOutType;

    @ApiModelProperty(value = "费用结算金额")
    private BigDecimal feeSettlement;

    @ApiModelProperty(value = "押金退还金额")
    private BigDecimal depositRefund;

    @ApiModelProperty(value = "结算状态(0=未结算,1=已结算)")
    private Integer settlementStatus;

    @ApiModelProperty(value = "合同终止状态(0=未终止,1=已终止)")
    private Integer contractTermination;

    @ApiModelProperty(value = "终止协议文件路径")
    private String terminationAgreementPath;

    @ApiModelProperty(value = "状态(0=申请中,1=已批准,2=已退住,3=已拒绝)")
    private Integer status;

    @ApiModelProperty(value = "审批人")
    private String approver;

    @ApiModelProperty(value = "审批时间")
    private LocalDateTime approvalTime;

    @ApiModelProperty(value = "审批备注")
    private String approvalRemark;
} 